30150 IWH=3012:IF ERR=68 THEN CLS:LOCATE 10,12:COLOR IGR:PRINT"No printer?":LOCATE 13,12:COLOR IYL:PRINT"Press ESC to return":LOCATE 15,12:PRINT"to the menu.":RESUME 30200
30160 IF ERR<>24 AND ERR<>25 AND ERR<>27 THEN 9000 ELSE CLS:LOCATE 4,3:COLOR ILR:PRINT"Something is wrong with the printer.":LOCATE 7,10:COLOR IBR:PRINT"Please be sure that":LOCATE 9,10:PRINT"1. There is paper in":LOCATE 10,13:PRINT"the printer."
30170 LOCATE 12,10:PRINT"2. The printer is on.":LOCATE 16,6:PRINT"Press":LOCATE 18,6:COLOR IYL:PRINT"ENTER";:COLOR IBR:PRINT" to try the printer again,":LOCATE 20,6:PRINT"-or-":LOCATE 22,6:COLOR IYL:PRINT"ESC ";:COLOR IBR:PRINT"to return to the menu."
30180 RESUME 30200
30200 A$=INKEY$:IF A$=""THEN 30200 ELSE IF A$=CHR$(27) THEN 4000 ELSE IF A$=CHR$(13) THEN 30210 ELSE GOTO 30200
30232 PRINT"to the inter-";:LOCATE 25,1:PRINT"active screen.";:LOCATE 1:GOSUB 30818:IF ICR=1 THEN RETURN
30245 XMI=UL*ULY*50.5-LMAR+.5+222*UL:DPXK=DPX:DPX=DPP:IX=INT(XMI+.5):GOSUB 30818:DIM LYNE(IX):LYNE(IX)=255:LYNE(IX-1)=255:FOR M=0 TO 1:LPRINT CHR$(27)"K" CHR$(IX) CHR$(0);:FOR N=1 TO IX:LPRINT CHR$(LYNE(N));:NEXT N:GOSUB 30819:IF M=0 THEN LPRINT
30246 NEXT M:IL1=IX:IL2=IX:IR1=IX:IR2=IX:LPRINT" North":ERASE LYNE:DIM LYNE(444):FOR J=0 TO 55:FOR IH=0 TO 7:Y=J*8+IH:IF Y>444 THEN 30254 ELSE SQ=UL*SQR((444-Y)*Y):IL3=INT(XMI-SQ):IR3=INT(XMI+SQ):IF Y>222 THEN 30254 ELSE IF IL1<IL3+1 THEN IL1=IL3+1
30250 GOSUB 30819:FOR IX=IL3 TO IL1:LYNE(IX)=LYNE(IX)OR ILX(IH):NEXT IX:IL1=IL2:IL2=IL3:IF IR1>IR3-1 THEN IR1=IR3-1
30252 FOR IX=IR1 TO IR3:LYNE(IX)=LYNE(IX)OR ILX(IH):NEXT IX:GOSUB 30819:IR1=IR2:IR2=IR3:IF Y=222 THEN IL=ILX(IH)+ILX(IH+1):FOR IXX=IX+2 TO IX+14:LYNE(IXX)=IL:NEXT IXX:GOTO 30266 ELSE GOTO 30266
30254 IF Y>445 THEN 30266 ELSE IF IL1>IL3-1 THEN IL1=IL3-1
30256 FOR IX=IL1 TO IL3:LYNE(IX)=LYNE(IX)OR ILX(IH):NEXT IX:IL1=IL2:IL2=IL3:IF IR1<IR3+1 THEN IR1=IR3+1
30258 FOR IX=IR3 TO IR1:LYNE(IX)=LYNE(IX)OR ILX(IH):NEXT IX:IR1=IR2:IR2=IR3
30266 NEXT IH:FOR NJ=1 TO ACT(J,0):GOSUB 30819:N=ACT(J,NJ):IF N<0 THEN 30550 ELSE GET#1,N
30440 :GOSUB 30819:LPRINT TAB(8):IY=2:IX=402:LYNE(IX)=ILX(IY)+ILX(IY+2):LYNE(IX-1)=ILX(IY+1):LYNE(IX+1)=ILX(IY+1):IS=400:GOSUB 30520:LPRINT"0.5 to 1.499"TAB(38):IF IPL=0 THEN 30460
30460 GOSUB 30819:LPRINT TAB(8):IY=2:IX=402:LYNE(IX)=ILX(IY)+ILX(IY+1)+ILX(IY+2):LYNE(IX-1)=ILX(IY+1):LYNE(IX+1)=ILX(IY+1):IS=400:GOSUB 30520:LPRINT"1.5 to 2.499"TAB(38):IF IPL=0 THEN 30480
30570 IL=ILX(IY)+ILX(IY+4):LYNE(IX-1)=LYNE(IX-1)OR IL:LYNE(IX+1)=LYNE(IX+1)OR IL:LYNE(IX)=LYNE(IX) OR IL +ILX(IY+2):IL=ILX(IY+1)+ILX(IY+2)+ILX(IY+3):LYNE(IX-2)=LYNE(IX-2) OR IL:LYNE(IX+2)=LYNE(IX+2)OR IL:RETURN
30580 IY=INT(ULY*Y+19.5)MOD 8
30590 IL=ILX(IY)+ILX(IY+2)+ILX(IY+3)+ILX(IY+4):LYNE(IX-2)=LYNE(IX-2)OR IL:LYNE(IX+2)=LYNE(IX+2)OR IL:IL=ILX(IY+1)+ILX(IY+5)+ILX(IY+7):LYNE(IX-1)=LYNE(IX-1)OR IL:LYNE(IX+1)=LYNE(IX+1)OR IL
30600 LYNE(IX)=LYNE(IX)OR ILX(IY+1)+ILX(IY+3)+ILX(IY+5)+ILX(IY+6)+ILX(IY+7):IF IY<>7 THEN LYNE(IX)=LYNE(IX)+ILX(IY+8):RETURN ELSE MF=IX:RETURN
30640 LYNE(IX-5)=LYNE(IX-5)OR ILX(IY+5):LYNE(IX+5)=LYNE(IX+5)OR ILX(IY+5):IL=ILX(IY+1)+ILX(IY+5):LYNE(IX-4)=LYNE(IX-4)OR IL:LYNE(IX+4)=LYNE(IX+4)OR IL:IL=ILX(IY+5)+ILX(IY+2):LYNE(IX-3)=LYNE(IX-3) OR IL
30650 LYNE(IX+3)=LYNE(IX+3)OR IL:IL=ILX(IY+5)+ILX(IY+3)+ILX(IY+7):LYNE(IX-2)=LYNE(IX-2)OR IL:LYNE(IX+2)=LYNE(IX+2)OR IL:IL=ILX(IY+5)+ILX(IY+4)+ILX(IY+6):LYNE(IX-1)=LYNE(IX-1)OR IL:LYNE(IX+1)=LYNE(IX+1)OR IL
30790 IF IY=7 THEN MS=IX:RETURN:ELSE LYNE(IX-1)=LYNE(IX-1)OR ILX(IY+8):LYNE(IX+2)=LYNE(IX+2)OR ILX(IY+8):RETURN
30800 IY=INT(Y*ULY+20.5)MOD 8
30810 IL=ILX(IY+2)+ILX(IY+3):LYNE(IX-1)=LYNE(IX-1)OR IL:LYNE(IX+2)=LYNE(IX+2)OR IL:IL=ILX(IY+1)+ILX(IY+4):LYNE(IX)=LYNE(IX)OR IL OR ILX(IY+2):LYNE(IX+1)=LYNE(IX+1) OR IL:LYNE(IX+3)=LYNE(IX+3)OR ILX(IY+1)OR ILX(IY+2):IL=ILX(IY)+ILX(IY+2)
30815 LYNE(IX+4)=LYNE(IX+4)OR IL:LYNE(IX+5)=LYNE(IX+5)OR IL:LYNE(IX+6)=LYNE(IX+6) OR IL:RETURN